Provision of telephony caller id service via common instant communications clients

ABSTRACT

An approach is provided for supporting telephony services over a data network. A communication network establishes a voice session from a calling station to a called station associated with a user. A service platform, in communication with the communication network, obtains Caller ID information corresponding to the voice session, and determines an instant communication client of the user. The Caller ID information is transmitted over the data network to the instant communication client for display of the Caller ID information.

RELATED APPLICATIONS

This application is a division of U.S. application Ser. No. 10/794,427,filed Mar. 5, 2004, which claims the benefit of the earlier filing dateunder 35 U.S.C. §119(e) of U.S. Provisional Patent Application Ser. No.60/544,115, filed Feb. 12, 2004; the entireties of which is incorporatedherein by reference.

FIELD OF THE INVENTION

The present invention relates to communications, and more particularly,to providing telephony services over instant communications clients.

BACKGROUND OF THE INVENTION

When developing new services, service providers are ever mindful ofcost. In general, the introduction of new communication servicesrequires a large investment in new infrastructure, not to mentiondevelopment costs. Given the competitive landscape of communicationservices, service providers need to be more innovative in seeking newsources of revenue. It is observed that despite the popularity of theInternet and its many applications (even with Voice Over InternetProtocol (VoIP)), the development of data communications has remainedlargely independent from voice communications and telephony services. Inother words, the advancement in services on the telephony side has notbeen well integrated on the data network side.

For example, Caller Number Identification Service, commonly known asCaller ID (or CID), is a commonly used telephony feature, supported bywireline and wireless public switched telephone networks (PSTN).Typically, Caller ID information is delivered by the telephone networkto telephone handsets or to hardware devices specifically designed torecord and display this information. Apart from these conventionalmethods, this information is not made readily available to end users.

Therefore, there is a need for supporting telephony services, such asCaller ID, over a data network. There is also a need to deploy acommunications service that utilizes existing infrastructure. There is afurther need to support a new source of revenue for service providers tobill for the telephony services.

SUMMARY OF THE INVENTION

These and other needs are addressed by the present invention, in whichan approach is presented for providing a Caller Identification (ID)service to an instant communication (IC or instant messaging (IM))client. A Caller ID Service Platform communicates with acircuit-switched telephone system as well as a packet-switched telephonysystem to obtain Caller ID information (e.g., calling number and/orcalled number) corresponding to a voice session that is terminated atone or more called stations associated with the user. The platformutilizes a user database that stores a user profile which specifies thecalled numbers that are to be monitored for this service in addition toone or more instant communication clients that are to receive the CallerID for display. The platform supports the display of multiple callednumbers via a single IC client, thereby creating a convenience featurefor a user who may have multiple telephones (e.g. home1, home2, cell1,cell2, office1, remote phone1) but desires to receive Caller ID servicesvia one common interface. For example a user may want to view calleridentification information on his or her home phone or a phoneassociated with a family member while at work. The above arrangementadvantageously provides an integrated approach to telephony servicesusing existing communication infrastructure. This approach also providesservice providers with a new, viable source of revenue.

According to one aspect of the present invention, a method forsupporting telephony services over a data network is disclosed. Themethod includes determining that a voice session from a calling stationis destined to called station associated with a user; obtaining anidentifier associated with the calling station. The method also includesdetermining an instant communication client of the user. Further, themethod includes forwarding the identifier over the data network to theinstant communication client, wherein the voice session is terminated atthe called station and the instant communication client displays theidentifier.

According to another aspect of the present invention, acomputer-readable medium carrying one or more sequences of one or moreinstructions for supporting telephony services over a data network isdisclosed. The one or more sequences of one or more instructionsincluding instructions which, when executed by one or more processors,cause the one or more processors to perform the steps of determiningthat a voice session from a calling station is destined to calledstation associated with a user; obtaining an identifier associated withthe calling station; determining an instant communication client of theuser; and forwarding the identifier over the data network to the instantcommunication client. The voice session is terminated at the calledstation, and the instant communication client displays the identifier tothe user.

According to another aspect of the present invention, a system forsupporting a Caller Identification (Caller ID) service over a datanetwork is disclosed. The system includes a communication networkconfigured to establish a voice session from a calling station to acalled station associated with a user. The system also includes aservice platform in communication with the communication network. Theservice platform is configured to obtain Caller ID informationcorresponding to the voice session, and to determine an instantcommunication client of the user. The Caller ID information istransmitted over the data network to the instant communication clientfor display of the Caller ID information.

According to another aspect of the present invention, a system forsupporting a Caller Identification (Caller ID) service over a datanetwork is disclosed. The system includes means for obtaining Caller IDinformation corresponding to a voice session from a calling station to acalled station associated with a user; means for determining an instantcommunication client of the user; and means for transmitting the CallerID information over the data network to the instant communication clientfor display of the Caller ID information.

Still other aspects, features, and advantages of the present inventionare readily apparent from the following detailed description, simply byillustrating a number of particular embodiments and implementations,including the best mode contemplated for carrying out the presentinvention. The present invention is also capable of other and differentembodiments, and its several details can be modified in various obviousrespects, all without departing from the spirit and scope of the presentinvention. Accordingly, the drawing and description are to be regardedas illustrative in nature, and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1 is a diagram of a communication system that is capable ofproviding telephony services to instant communication (IC) clients,according to an embodiment of the present invention;

FIG. 2 is a flowchart of a process for providing Caller Identification(ID) service to an instant communication client, according to anembodiment of the present invention;

FIG. 3 is a diagram of a Caller ID Service Platform used in the systemof FIG. 1;

FIG. 4 is a diagram of a user database utilized in the Caller ID ServicePlatform of FIG. 1;

FIG. 5 is a diagram of an exemplary common instant communication clientin support of the Caller ID service, according to an embodiment of thepresent invention;

FIG. 6 is a flowchart of an administrative process for modifying aprofile stored in the user database of FIG. 1; and

FIG. 7 is a diagram of a computer system that can be used to implementan embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

A system, method, and software for supporting telephony services, suchas Caller Identification (CID), over a data network are described. Inthe following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It is apparent, however, to oneskilled in the art that the present invention may be practiced withoutthese specific details or with an equivalent arrangement. In otherinstances, well-known structures and devices are shown in block diagramform in order to avoid unnecessarily obscuring the present invention.

FIG. 1 shows a diagram of a communication system that is capable ofproviding telephony services to instant communication clients, accordingto an embodiment of the present invention. As shown, a Caller ID ServicePlatform 101 interfaces with a communication network 103 to obtainCaller ID information (CID) (e.g., calling number and called number) fordissemination to an instant communication (IC) (or instant messaging(IM)) client resident, in this example, on a host 105. It is recognizedthat IC clients are pervasive and can run on multiple types of devices,such as a personal computer, which offers a greater degree of optionsand services associated. An example of such services includescataloging, storage, sorting, and retrieval of call activity orintegration with other common applications such as email.

The Caller ID information pertains to a voice session established overthe communication network 103, which can be a circuit-switched telephonysystem (e.g., a private telephony network or a Public Switched TelephoneNetwork (PSTN)) or a data network providing Voice over IP (Internet)communication. Irrespective of whether the voice session is a Plain OldTelephone Service (POTS) call or a VoIP call, telephone directoryinformation about a calling station constitutes Caller ID information.Such information can be supplied by a switch 107 or a router or proxydevice 109 to the platform 101.

By way of example, a caller originates a voice session using a callingstation 111 using either a VoIP interface 113 or an originating PSTNswitch 115. The caller dials the called number or other commonidentifier of a station 117, which in this scenario is the calledstation. The voice session is established over the network 103 andterminates at a terminating PSTN switch 119 or a VoIP interface 121 (ifthe voice session is a VoIP call). During this call establishment, theCaller ID Service Platform 101 obtains the Caller ID information forrelay to one or more IC/IM clients (e.g., host 105); this operation isdetailed below in FIG. 2. The platform 101 can support this functionwhile acting, for example, as an adjunct processor, intelligentperipheral, or similar device that directly processes the call eitherthrough in-band signaling or common telephony interface signaling suchas Integrated Services Digital Network (ISDN), or via separate callcontrol signaling information passed via an interface specificallydesigned to handle call control signaling information using protocolssuch as, but not limited to, Session Initiation Protocol (SIP) orSignaling System 7 (SS7).

FIG. 2 shows a flowchart of a process for providing CallerIdentification (ID) service to an instant communication client,according to an embodiment of the present invention. In step 201, theCaller ID Service Platform 101 obtains the Caller ID information (e.g.,calling number), along with the called number corresponding to thecalled station 117, from the intermediate nodes 107, 109. If thisinformation is collected from the voice switch 107, the information canbe extracted from, for example, Automatic Number Identification (ANI)information. Next, the platform 101 accesses a User Database 125 toexamine a profile associated with a user (or subscriber) correspondingto the called number, as in step 203. For the called number if thisinformation is collected from the voice switch 107, the Caller IDinformation can be extracted from, for example, Dialed NumberIdentification (DNIS) information. The user profile contains informationregarding the called numbers that are to be monitored; these callednumbers can correspond to a work number, a home number, a cellular phonenumber, etc. of the user. Additionally, the profile specifies one ormore instant communication clients (or IM clients) that are to receivethe Caller ID information. In step 205, the associated IM client isdetermined based on this profile.

The platform 101 then determines whether the specified IM client isavailable (i.e., present, or activated), per step 207. If the IM clientis not available, the Caller ID information, as in step 209, can bestored for later delivery. In step 211, the platform 101 creates a logof the Caller ID information in a Call Log Database 123. Thereafter, theCaller ID Service Platform 101 appropriately forwards the Caller IDinformation to the IC/IM clients over a data network 127 according tothe profile, per step 213. The data network 127 can supply a public ICservice or a private IC service (e.g., an enterprise scenario). Examplesof IC or IM clients include products such as AMERICA ON-LINE™ InstantMessenger, and MICROSOFT® Windows Messenger. In step 215, the Call logis created or updated to store the Caller ID information.

The platform 101 advantageously provides convenience for the user bydelivering the Caller ID information to other communication devices(which are supported by a variety of technologies). Provision of CallerID in the manner described above can be performed in conjunction withconventional Caller ID Service or can supplant these conventionalmethods (which can reduce the cost of telephone stations). The Caller IDservice, according to the present invention, can be extended to avariety of devices, such as hand-held devices, gaming consoles,television sets, and other appliances which either are, or can be madecapable of instantiations of instant communications clients (or likesoftware interfaces). Also, the approach, consistent with an embodimentof the present invention, does not require the Caller ID delivery pointto be wired to the device or the network upon which the call is beingdelivered. For example, a call can terminate at a home on a traditionalphone, and the associated Caller ID information can be displayed on acomputer connected to the Internet 103.

FIG. 3 shows a diagram of a Caller ID Service Platform used in thesystem of FIG. 1. As seen in FIG. 3, the Caller ID Service Platform 101can involve a both program 301 that accesses information from thedatabases 123, 125 as well as a human component 303 for interacting withthe program 301. The platform 101 also provides the necessary APIs 305,307, and any custom interfaces 309 (depending on the system to beinterfaced) required to communicate with a PSTN/VOIP communicationsystem 311 and an IM/IC server (or client) 313. The PSTN/VOIPcommunication system 311 communicates with the intermediate nodes 107,109, while the IM/IC host 313 communicates with the data network 127,which supplies an IC environment. According to one embodiment of thepresent invention, the server 313 can be used as a “presence server,” asdescribed below.

In accordance with various embodiments of the present invention, theIM/IC client 313 can be determined to be active based on a presenceidentifier. A presence identifier is an alphanumeric handle of a user orparty that can be used to query the server 313 (referred to as a“presence server”) for determining a communications state of the user.The communications state indicates at least whether or not the party isavailable to accept delivery of preferably real-time communications.Examples of real-time communications include instant messages, chatmessages, voice-enabled chat, Internet Relay Chat (IRC), voice overInternet Protocol (IP), and any other messages delivered at a ratecapable of supporting an interactive session. In contrast to thestore-and-forward approach of electronic mail, the delivery ofcommunications indicated in the communications state is typicallyimmediate, in which a message in the communication is dropped if thereis an obstacle to delivery. Accordingly, a presence identifier caninclude any of a screen name, a handle, an electronic pseudonym, a chatidentifier, and an instant message identifier.

The presence server 313 can be implemented as a computer system thatfurnishes the presence services described in Internet Engineering TaskForce (IETF) Reference for Comment (RFC) 2778, which is incorporatedherein by reference in its entirety, or similar specifications and mayinclude those popular presence servers supplied by AMERICA ON-LINE™,YAHOO™, etc. Typically, users who wish to make their on-line presenceknown register their communication state with the presence server 313.Specifically, when a user logs in somewhere on the Internet, corporateintranets, or other similar networks, the user registers with thepresence server 313 that the user is available, and when the user logsout, the user registers with the presence server 313 that the user isunavailable.

As mentioned above, the system 101 can utilize the Call Log database 123(or a similar database) to store for later or delayed delivery of CIDinformation that the system 101 is unable to deliver to a non-present orunavailable user. This capability permits maintenance of historicalrecords, which is important in monitoring functions. The Call Logdatabase 123, thus, permits the ability to mark a CID record as“delivered” (or other states). Furthermore, the database 123 can supportappending information, such as timestamps or other information.

Furthermore, the platform 101 provides web-based applications in supportof the Caller ID service. In particular, web access components 315 andweb services components 317 permit, for example, a remote user to modifythe contents of the User Database 125 or to view and manipulate the CallLog database 123. This function is more fully described with respect toFIG. 6.

FIG. 4 shows a diagram of a user database utilized in the Caller IDService Platform of FIG. 1. As mentioned earlier, the Caller ID ServicePlatform 101 permits multiple IM/IC clients to be associated with one ormore called numbers. That is, the platform 101 supports a many-to-manyrelationship between the called numbers and the IM/IC clients. In thisexample, the User Database 125 maintains a profile table 401 with acolumn 401 a for the Called Numbers, a column 401 b for the IM/IC ClientIdentifiers, and a column 401 c to designate whether the particularIM/IC client should receive the Caller ID information. With thisprofile, when Caller ID information is obtained corresponding to a calldestined for the Called Number in column 401 a, the Caller IDinformation would be forwarded to the IM clients 403, 407, and 409corresponding to clients 1, 3, and 4 respectively within the column 401b. However, the IM/IC client 405 would not receive the Caller IDinformation. It is noted that the IM/IC client 405 may in the future bedesignated to receive the Caller ID information, upon appropriatemodification of the user profile. Furthermore, the profile within theUser Database 125 can also be based on a schedule, whereby theactivation of a particular Called Number or IM/IC client can be scheduledriven.

Additionally, a different Called Number 2 can be associated with anIM/IC client that is also associated with Called Number 1. A table entry413 thus includes columns 413 a-413 c to store the followinginformation: called number, IM/IC client, and whether the IM/IC clientshould receive the Caller ID information.

As further seen in FIG. 4, an association between a user and one or morecalled numbers is supported, as in table entry 415. This association canbe a one to many relationship; a user column 415 a and a Called Numbercolumn 415 b. It is noted that the platform can support a scenariowhereby these same numbers are associated with other users. In suchcase, a security mechanism may be required to ensure that only the userswho should legitimately be able to monitor any given numbers is allowedto do so; for example, the owner of the number (i.e., the person orentity who pays for the service associated with that called number).

FIG. 5 shows a diagram of an exemplary common instant communicationclient in support of the Caller ID service, according to an embodimentof the present invention. In this example, an IM/IC client supports agraphical screen 500 that shows two Caller ID entries 501, 503corresponding to a home number and a cell number. As evident from thescreen 500, a log is maintained of all Caller ID information pertainingto these two Caller Numbers (e.g., home and cell numbers), whereby thetime of the calls are stored. The user has the option to scroll throughthe call log, per icon 505. The user can also access, scroll, orotherwise manipulate (including delete) the log records throughalternate access methods such as web 315 or web services 317.

Thus, the platform 101 supports the capability to time/date stamp theCaller ID information. It is also noted that the platform 101 can beconfigured to provide the user with the ability to respond to the CallerID information (and other telephony information) from an instantcommunication client with instructions back to the telephony network 103as to subsequent handling of a call or to call back to the number if thecall was missed. Additionally, the screen 500 can be designed toassociate other useful information with the calling or called number anddisplay to user (for example, identifying a number as cellular, home, orbusiness, as well as inclusion of information related to the priority ofthe call). Further, this service supports a vehicle for providingreal-time adjunct information associated with the calling number, suchas yellow or white page directory listings, advertisements or othercustomized messages.

It is contemplated that the information found in the screen 500 can bedisplayed by any type of device with connectivity to the Caller IDService Platform 101. By way of example, a gaming console withconnectivity to a public data network (e.g., the Internet) can accessthe platform 101 because of the platform's web access capabilities, andconsequently, can display the Caller ID information on a television. Insituations whereby the user does not want to receive the call, theconvenience of having Caller ID information displayed on the televisionspares the user from having to “run” to the phone while watchingtelevision. Similarly, the user, if on a computer, need not be disruptedby the call if the user deems the call unimportant or not of highpriority, or is perhaps destined for another party who shares the samecalled number. For example, a parent or supervisor who is interestedmonitoring or at least being made aware of the activity of their kids orsubordinates in real time and/or historical reference. In the context ofthe work environment for example, an employer can utilize this Caller IDservice to monitor telephone calls/activity of an employee; further,given the convenience and the varied deployment scenarios of the ICclient, the employer is afforded this monitoring capability from anylocation (e.g., remote office or home).

Moreover, the Caller ID Service Platform 101 provides a convenientmechanism for modifying the profile, as next described.

FIG. 6 shows a flowchart of an administrative process for modifying aprofile stored in the user database of FIG. 1. In this example, a userutilizes the host 105 to access the Caller ID Service Platform 101, perstep 601. The login process can be based on conventional techniques ofauthentication and password systems. In step 603, the Caller ID ServicePlatform 101, upon verifying the user, can present a menu of optionsrespecting various administrative functions, such as account and billinginformation, and profile creation and update. For example, the user canadd more Called Numbers if the user wishes to be notified of calls beingterminated at those numbers. Also, a Caller Number may change if theuser changes residence, or occupation, for example. Further, the usermay want to change a particular IM/IC client for receipt of the CallerID formation. To effect any one of these changes, the user can modifythe user profile, as in step 605. Additionally, the user can optionallyview and/or modify the Call Log information (step 607).

It is noted that although the above example is described such that theuser is both the “subscriber” to the Caller ID service and the personauthorized to modify the profile, it is noted that a person other thanthe subscriber can be authorized to alter the profile stored in the UserDatabase 125.

As evident from the above discussion, the platform 101 can supplyconvenience services to users (both consumer class users via a public ICsystem, as well as business class users via a private IC system). TheCaller ID service can be used by telephone operators or call centers toreduce cost and complexity of determining caller ID (and related info)for incoming calls. Also, the Caller ID service can be deployed inhigher end business or professional communications systems to reduce thecost and complexity and increase the user experience for personalassistance and call screening/management applications. Further, withdelivery of Caller ID to IC network 127, this in effect provides aviable mechanism for widespread deployment of useful and cost effectivedevices.

Among the other advantages, the Caller ID service represents asignificant revenue opportunity for service providers in that users arealready accustomed this feature in the telephony arena.

FIG. 7 illustrates a computer system 700 upon which an embodimentaccording to the present invention can be implemented. The computersystem 700 includes a bus 701 or other communication mechanism forcommunicating information and a processor 703 coupled to the bus 701 forprocessing information. The computer system 700 also includes mainmemory 705, such as a random access memory (RAM) or other dynamicstorage device, coupled to the bus 701 for storing information andinstructions to be executed by the processor 703. Main memory 705 canalso be used for storing temporary variables or other intermediateinformation during execution of instructions by the processor 703. Thecomputer system 700 may further include a read only memory (ROM) 707 orother static storage device coupled to the bus 701 for storing staticinformation and instructions for the processor 703. A storage device709, such as a magnetic disk or optical disk, is coupled to the bus 701for persistently storing information and instructions.

The computer system 700 may be coupled via the bus 701 to a display 711,such as a cathode ray tube (CRT), liquid crystal display, active matrixdisplay, or plasma display, for displaying information to a computeruser. An input device 713, such as a keyboard including alphanumeric andother keys, is coupled to the bus 701 for communicating information andcommand selections to the processor 703. Another type of user inputdevice is a cursor control 715, such as a mouse, a trackball, or cursordirection keys, for communicating direction information and commandselections to the processor 703 and for controlling cursor movement onthe display 711.

According to one embodiment of the invention, the screen 500 of FIG. 5along with the process of FIG. 6 can be provided by the computer system700 in response to the processor 703 executing an arrangement ofinstructions contained in main memory 705. Such instructions can be readinto main memory 705 from another computer-readable medium, such as thestorage device 709. Execution of the arrangement of instructionscontained in main memory 705 causes the processor 703 to perform theprocess steps described herein. One or more processors in amulti-processing arrangement may also be employed to execute theinstructions contained in main memory 705. In alternative embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions to implement the embodiment of the presentinvention. In another example, reconfigurable hardware such as FieldProgrammable Gate Arrays (FPGAs) can be used, in which the functionalityand connection topology of its logic gates are customizable at run-time,typically by programming memory look up tables. Thus, embodiments of thepresent invention are not limited to any specific combination ofhardware circuitry and software.

The computer system 700 also includes a communication interface 717coupled to bus 701. The communication interface 717 provides a two-waydata communication coupling to a network link 719 connected to a localnetwork 721. For example, the communication interface 717 may be adigital subscriber line (DSL) card or modem, an integrated servicesdigital network (ISDN) card, a cable modem, a telephone modem, or anyother communication interface to provide a data communication connectionto a corresponding type of communication line. As another example,communication interface 717 may be a local area network (LAN) card(e.g., for Ethernet™ or an Asynchronous Transfer Model (ATM) network) toprovide a data communication connection to a compatible LAN. Wirelesslinks can also be implemented. In any such implementation, communicationinterface 717 sends and receives electrical, electromagnetic, or opticalsignals that carry digital data streams representing various types ofinformation. Further, the communication interface 717 can includeperipheral interface devices, such as a Universal Serial Bus (USB)interface, a PCMCIA (Personal Computer Memory Card InternationalAssociation) interface, etc. Although a single communication interface717 is depicted in FIG. 7, multiple communication interfaces can also beemployed.

The network link 719 typically provides data communication through oneor more networks to other data devices. For example, the network link719 may provide a connection through local network 721 to a hostcomputer 723, which has connectivity to a network 725 (e.g., a wide areanetwork (WAN) or the global packet data communication network nowcommonly referred to as the “Internet”) or to data equipment operated bya service provider. The local network 721 and the network 725 both useelectrical, electromagnetic, or optical signals to convey informationand instructions. The signals through the various networks and thesignals on the network link 719 and through the communication interface717, which communicate digital data with the computer system 700, areexemplary forms of carrier waves bearing the information andinstructions.

The computer system 700 can send messages and receive data, includingprogram code, through the network(s), the network link 719, and thecommunication interface 717. In the Internet example, a server (notshown) might transmit requested code belonging to an application programfor implementing an embodiment of the present invention through thenetwork 725, the local network 721 and the communication interface 717.The processor 703 may execute the transmitted code while being receivedand/or store the code in the storage device 709, or other non-volatilestorage for later execution. In this manner, the computer system 700 mayobtain application code in the form of a carrier wave.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing instructions to the processor 705 forexecution. Such a medium may take many forms, including but not limitedto non-volatile media, volatile media, and transmission media.Non-volatile media include, for example, optical or magnetic disks, suchas the storage device 709. Volatile media include dynamic memory, suchas main memory 705. Transmission media include coaxial cables, copperwire and fiber optics, including the wires that comprise the bus 701.Transmission media can also take the form of acoustic, optical, orelectromagnetic waves, such as those generated during radio frequency(RF) and infrared (IR) data communications. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,CDRW, DVD, any other optical medium, punch cards, paper tape, opticalmark sheets, any other physical medium with patterns of holes or otheroptically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave, or any other mediumfrom which a computer can read.

Various forms of computer-readable media may be involved in providinginstructions to a processor for execution. For example, the instructionsfor carrying out at least part of the present invention may initially beborne on a magnetic disk of a remote computer. In such a scenario, theremote computer loads the instructions into main memory and sends theinstructions over a telephone line using a modem. A modem of a localcomputer system receives the data on the telephone line and uses aninfrared transmitter to convert the data to an infrared signal andtransmit the infrared signal to a portable computing device, such as apersonal digital assistant (PDA) or a laptop. An infrared detector onthe portable computing device receives the information and instructionsborne by the infrared signal and places the data on a bus. The busconveys the data to main memory, from which a processor retrieves andexecutes the instructions. The instructions received by main memory canoptionally be stored on storage device either before or after executionby processor.

While the present invention has been described in connection with anumber of embodiments and implementations, the present invention is notso limited but covers various obvious modifications and equivalentarrangements, which fall within the purview of the appended claims.

1. A non-transitory computer-readable medium carrying one or moresequences of one or more instructions for supporting telephony servicesover a data network, the one or more sequences of one or moreinstructions including instructions which, when executed by one or moreprocessors, cause the one or more processors to perform the steps of:determining that a voice session from a calling station is destined tocalled station associated with a user; obtaining an identifierassociated with the calling station; determining an instantcommunication client of the user; and forwarding the identifier over thedata network to the instant communication client, wherein the voicesession is terminated at the called station and the instantcommunication client displays the identifier to the user.
 2. Anon-transitory computer-readable medium according to claim 1, whereinthe called station is among a plurality of called stations associatedwith the user, the computer-readable medium further includinginstructions for causing the one or more processors to perform the stepsof: receiving another identifier associated with a different calledstation; and forwarding the other identifier to the instantcommunication client, wherein the instant communication client displaysthe identifiers concurrently.
 3. A non-transitory computer-readablemedium according to claim 1, wherein the instant communication client isamong a plurality of instant communication clients, thecomputer-readable medium further including instructions for causing theone or more processors to perform the step of: forwarding the identifierto one or more of the instant communication clients.
 4. A non-transitorycomputer-readable medium according to claim 1, the computer-readablemedium further including instructions for causing the one or moreprocessors to perform the step of: accessing a user database for aprofile of the user, wherein the profile specifies the called stationfor monitoring and the instant communication client for displaying theidentifier.
 5. A non-transitory computer-readable medium according toclaim 4, the computer-readable medium further including instructions forcausing the one or more processors to perform the steps of: receiving arequest to modify the profile of the user; and modifying the profilebased on the request.
 6. A non-transitory computer-readable mediumaccording to claim 1, wherein the instant communication client isresident on one of a computer system, a Personal Digital Assistant(PDA), a cellular phone, a gaming console, and a web appliance.
 7. Anon-transitory computer-readable medium according to claim 1, whereinthe voice session is one of a Plain Old Telephone Service (POTS) calland a Voice over Internet Protocol (VoIP) call.
 8. A non-transitorycomputer-readable medium according to claim 1, wherein the identifier isderived from an Automatic Number Identification (ANI) information.
 9. Anon-transitory computer-readable medium according to claim 1, thecomputer-readable medium further including instructions for causing theone or more processors to perform the steps of: receiving anotheridentifier associated with a calling station; and forwarding the otheridentifier to the instant communication client, wherein the instantcommunication client displays the identifiers concurrently.
 10. Anon-transitory computer-readable medium according to claim 9, whereinthe other identifier is derived from a Dialed Number IdentificationService (DNIS) number.
 11. A non-transitory computer-readable mediumaccording to claim 1, the computer-readable medium further includinginstructions for causing the one or more processors to perform the stepsof: determining whether the instant communication client is available;and if the instant communication client is not available, storing theidentifier for later delivery.
 12. A non-transitory computer-readablemedium according to claim 1, the computer-readable medium furtherincluding instructions for causing the one or more processors to performthe step of: appending supplemental information to the identifier,wherein the supplemental information includes one of time stampinformation and advertisement information.
 13. A non-transitorycomputer-readable medium according to claim 1, the computer-readablemedium further including instructions for causing the one or moreprocessors to perform the steps of: associating a user with one or morecalled stations including the called station; and associating the userwith one or more instant communication clients including the instantcommunication client.
 14. A system comprising: a service platform incommunication with a communication network, the service platform beingconfigured to obtain Caller Identification (Caller ID) informationcorresponding to a voice session established over the communicationnetwork from a calling station to a called station associated with auser, and to determine an instant communication client of the user,wherein the Caller ID information is transmitted over a data network tothe instant communication client for display of the Caller IDinformation.
 15. A system according to claim 14, wherein the calledstation is among a plurality of called stations associated with theuser, and the service platform obtains another Caller ID informationassociated with a different called station, the other Caller IDinformation being forwarded to the instant communication client, theinstant communication client displaying the plurality of Caller IDinformation concurrently.
 16. A system according to claim 14, whereinthe instant communication client is among a plurality of instantcommunication clients, and the service platform forwards the Caller IDinformation to one or more of the instant communication clients.
 17. Asystem according to claim 14, further comprising: a user databaseaccessible by the service platform and configured to store a profile ofthe user, wherein the profile specifies the called station formonitoring and the instant communication client for displaying theCaller ID information.
 18. A system according to claim 17, wherein theservice platform receives a request to modify the profile of the user,and modifies the profile based on the request.
 19. A system according toclaim 14, wherein the instant communication client is resident on one ofa computer system, a Personal Digital Assistant (PDA), a cellular phone,a gaming console, and a web appliance.
 20. A system according to claim14, wherein the voice session is one of a Plain Old Telephone Service(POTS) call and a Voice over Internet Protocol (VoIP) call.
 21. A systemaccording to claim 14, wherein the Caller ID information is derived froman Automatic Number Identification (ANI) information.
 22. A systemaccording to claim 14, wherein the Caller ID information includes anumber of the calling station and a number of the called station.
 23. Asystem according to claim 22, wherein the called station is derived froma Dialed Number Identification Service (DNIS) number.
 24. A systemaccording to claim 14, wherein the service platform determines whetherthe instant communication client is available, and if the instantcommunication client is not available, the Caller ID information isstored for later delivery.
 25. A system according to claim 14, whereinthe service platform appends supplemental information to the Caller IDinformation, wherein the supplemental information includes one of timestamp information and advertisement information.
 26. A system accordingto claim 14, wherein the service platform associates the user with aplurality of called stations, and selectively associates the user with aplurality of instant communication client.